1. Technical Field
The present invention relates to the field of detection and concealment of errors in received data, and especially to detection and concealment of errors introduced into the data during its passage through the communication channel between the transmitter and the receiver.
2. Description of the Prior Art
Numerous methods exist for the detection and correction of errors in a received signal. For example, parity information can be added to the information signal before transmission to provide the means to detect and, optionally, correct errors occurring during transmission. In block coding, for example, a single error occurring in a sequence of (2.sup.M -M-1) bits can be corrected using M parity bits which are added to the transmitted sequence of bits. To correct k multiple errors in a sequence of (2.sup.M -kM-1) bits requires at least kM parity bits.
Correction of multiple errors, however, requires a system which may be very expensive to implement. Moreover, all of these methods are inefficient in their use of the communication channel. Parity bits added to the sequence of transmitted information reduce the channel capacity available for transmission of the information signal. At very high error rates in transmission, the fraction of channel capacity dedicated to the transmission of parity bits becomes excessive. Furthermore, all methods fail when the channel error rate exceeds the design limit. In the case of audio signals, established methods produce annoying "clicks" when the error rate is even close to the design limit.
Alternative systems have been developed which allow for the detection of errors but not their correction. Detected errors are instead concealed by replacing the erroneous data with an estimate. An example of this type of system is described in R. Steele and N. S. Jayant, "Statistical Block Protection Coding for DPCM-AQF Speech," Report of the IEEE 1980 National Telecommunications Conference (hereinafter cited as Steele). Steele teaches a method of block protection coding for differential pulse code modulated (DPCM) speech. Circuitry at the transmitter calculates both the magnitude of the maximum difference between adjacent speech samples in a block, and the root-mean-square (rms) value of all the adjacent differences in the block. These values are transmitted at the head of the transmitted block of speech samples. At the receiver, the difference between each sample determined to be correct and the next sample is calculated; and, if this difference is greater than the maximum as calculated prior to transmission, then the next sample is deemed to be erroneous. Concealment is accomplished by adding the rms value of the differences to the correct (earlier) sample.